package com.thinking.live.enums;


import java.util.Objects;
import java.util.stream.Stream;

/**
 * 本地生活交房支持功能验证对象
 */
public enum LivChargeEnum {

    YiDONG100("中国移动","YiDONG100","742",9140,3000,9480,"移动100普快充值","huafei",10000),
    YiDONG100P("中国移动","YiDONG100P","742",9140,0,9680,"移动100普快充值","huafei",10000),
    YiDONG200("中国移动","YiDONG200","743",18280,6000,18960,"移动100普快充值","huafei",20000),
    LIANTONG100("中国联通","LIANTONG100","746",9140,3000,9480,"联通100普快充值","huafei",10000),
    LIANTONG300("中国联通","LIANTONG200","889",18280,6000,18960,"联通200普快充值","huafei",20000),
    DIANXIN100("中国电信-全国版","DIANXIN100","744",9140,3000,9480,"电信100普快充值-禁止：安徽电信","huafei",10000),
    DIANXIN200("中国电信-全国版","DIANXIN200","745",18280,6000,18960,"电信100普快充值-禁止：安徽电信","huafei",20000),
    DIANXINANHUI100("中国电信-安徽专线","DIANXINANHUI100","636",9220,3000,9480,"安徽电信专线-100元","huafei",10000),
    DIANXINANHUI200("中国电信-安徽专线","DIANXINANHUI200","637",18440,6000,18960,"安徽电信专线-200元","huafei",20000),
    DIANXINSICHUAN100("中国电信-四川专线","DIANXINSICHUAN100","335",9120,3000,9480,"四川电信专线-100元","huafei",10000),
    DIANXINSICHUAN200("中国电信-四川专线","DIANXINSICHUAN200","336",18240,6000,18960,"四川电信专线-200元","huafei",20000),
    XIEHAOZHUANWANG100("携号转网100元","XIEHAOZHUANWANG100","418",9200,3000,9490,"非转网勿下，禁：安徽电信，新疆移动。48小时内不撤单，不可欠费，充值期间严禁自己充值，严禁多渠道平台下单","huafei",10000),


    GUODIANFEI100("国家电网","GUODIANFEI100","484",9450,3000,9780,"欠费500内，缴费大于欠费，100-1000叠加到账，不可叠加下单，秒退就是地区不支持，同号禁止多平台多渠道下单（自动撤单）","dianfei",10000),
//    GUODIANFEI100P("国家电网","GUODIANFEI100P","484",9450,0,9880,"欠费500内，缴费大于欠费，100-1000叠加到账，不可叠加下单，秒退就是地区不支持，同号禁止多平台多渠道下单（自动撤单）","dianfei",10000),
    GUODIANFEI200("国家电网","GUODIANFEI200","485",18900,6000,19520,"欠费500内，缴费大于欠费，100-1000叠加到账，不可叠加下单，秒退就是地区不支持，同号禁止多平台多渠道下单（自动撤单）","dianfei",20000),
    GUODIANFEI400("国家电网","GUODIANFEI400","487",37800,12000,38860,"欠费500内，缴费大于欠费，100-1000叠加到账，不可叠加下单，秒退就是地区不支持，同号禁止多平台多渠道下单（自动撤单）","dianfei",40000),
    GUODIANFEI600("国家电网","GUODIANFEI600","489",56520,18000,58680,"欠费500内，缴费大于欠费，100-1000叠加到账，不可叠加下单，秒退就是地区不支持，同号禁止多平台多渠道下单（自动撤单）","dianfei",60000),
    GUODIANFEI800("国家电网","GUODIANFEI800","491",75360,24000,78240,"欠费500内，缴费大于欠费，100-1000叠加到账，不可叠加下单，秒退就是地区不支持，同号禁止多平台多渠道下单（自动撤单）","dianfei",80000),

//    NANDIANFEI100("南方电网","NANDIANFEI100","513",9250,3000,9700,"欠费200内，100-1000叠加 不可叠加， 个人户需要绑身份证， 企业户需要营业执照，禁止多平台渠道下单","dianfei",10000),
//    NANDIANFEI200("南方电网","NANDIANFEI200","514",18500,6000,19400,"欠费200内，100-1000叠加 不可叠加， 个人户需要绑身份证， 企业户需要营业执照，禁止多平台渠道下单","dianfei",20000),

    ZHONGRANQI100("中国燃气","ZHONGRANQI100","79",9070,3000,9460,"单笔提， 不可叠加下单，支持地区下载壹品慧app点燃气缴费输入燃气编号能查到就能下单","ranqi",10000),
    ZHONGRANQI200("中国燃气","ZHONGRANQI200","80",18140,6000,18920,"单笔提， 不可叠加下单，支持地区下载壹品慧app点燃气缴费输入燃气编号能查到就能下单","ranqi",20000),
    ZHONGRANQI300("中国燃气","ZHONGRANQI300","81",27210,9000,28580,"单笔提， 不可叠加下单，支持地区下载壹品慧app点燃气缴费输入燃气编号能查到就能下单","ranqi",30000),

    //  NANDIANFEI100("NANDIANFEI100","258",9380,1000,9700,"置顶南方国网100","dianefi"),

    AIQYIHUANGMONTH("爱奇艺黄金会员-月卡","AIQYIHUANGMONTH-HY","657",1701,1000,1889,"爱奇艺黄金会员『1个月』","huiyuan",3000),
    AIQYIHUANGYEAR("爱奇艺黄金会员-年卡","AIQYIHUANGYEAR-HY","659",15770,8800,17590,"爱奇艺黄金会员『12个月』","huiyuan",19800),
    AIQYIBAIMONTH("爱奇艺白金会员-月卡","AIQYIBAIMONTH-HY","660",2196,3800,2490,"爱奇艺白金会员『1个月』","huiyuan",5000),
    AIQYIBAIYEAR("爱奇艺白金会员-年卡","AIQYIBAIYEAR-HY","662",22720,9800,24990,"爱奇艺白金会员『12个月』","huiyuan",38800),

    TENGXUNSHIPINMONTH("腾讯视频会员-月卡","TENGXUNSHIPINMONTH-HY","280",1681,3200,1821,"腾讯视频会员『1个月』","huiyuan",3000),
    TENGXUNSHIPINYEAR("腾讯视频会员-年卡","TENGXUNSHIPINYEAR-HY","282",14331,7600,16190,"腾讯视频会员『12个月』","huiyuan",19800),
    TENGXUNLOUDMONTH("腾讯云视听会员-月卡","TENGXUNLOUDMONTH-HY","283",2029,6600,23590,"腾讯云视听会员『12个月』","huiyuan",26800),
    TENGXUNLOUDYEAR("腾讯云视听会员-年卡","TENGXUNLOUDYEAR-HY","651",20266,8600,23590,"腾讯云视听会员『12个月』","huiyuan",26800),

    MICLOUDMONTH("小米电视会员-月卡","MICLOUDMONTH-HY","678",2691,6500,28590,"小米电视会员『1个月』","huiyuan",3200),
    MICLOUDYEAR("小米电视会员-年卡","MICLOUDYEAR-HY","679",25174,9500,27990,"小米电视会员『12个月』","huiyuan",1),//38800
// MICHIRDERCLOUDYEAR("MICHIRDERCLOUDYEAR","846",37500,8800,38990,"小米儿童成长会员『12个月』","huiyuan",458),

    HUAWEICLOUDMONTH("华为视频影视会员-月卡","HUAWEICLOUDMONTH-HY","848",1059,1000,1280,"华为视频影视会员『1个月』","huiyuan",1680),
    HUAWEICLOUDYEAR("华为视频影视会员-年卡","HUAWEICLOUDYEAR-HY","850",10725,5800,11980,"华为视频影视会员『12个月』","huiyuan",16800),

    YOUCCKUCLOUDMONTH("优酷会员-月卡","YOUCCKUCLOUDMONTH-HY","831",1361,1600,1488,"优酷会员『1个月』","huiyuan",1800),
    YOUCCKUCLOUDYEAR("优酷会员-年卡","YOUCCKUCLOUDYEAR-HY","833",11911,2600,13680,"优酷会员『12个月』","huiyuan",15800),
    YOUCATCKUCLOUDYEAR("优酷视频TV酷喵会员-年卡","YOUCATCKUCLOUDYEAR-HY","836",12016,4800,14890,"优酷视频TV酷喵会员『12个月』","huiyuan",18800),

    QQYINYUELVZHUANMONTH("QQ音乐豪华绿钻-月卡","QQYINYUELVZHUANMONTH-HY","680",1331,900,1489,"QQ音乐豪华绿钻『1个月』","huiyuan",1880),

    XIMALAYACKUCLOUDDAY("喜马拉雅VIP会员-7天卡","XIMALAYACKUCLOUDDAY-HY","689",301,300,368,"喜马拉雅VIP会员『7天』","huiyuan",400),
    XIMALAYACKUCLOUDMONTH("喜马拉雅VIP会员-月卡","XIMALAYACKUCLOUDMONTH-HY","686",2532,1500,2688,"喜马拉雅VIP会员『1个月』","huiyuan",2800),
    XIMALAYACKUCLOUDYEAR("喜马拉雅VIP会员-年卡","XIMALAYACKUCLOUDYEAR-HY","688",9950,3300,11190,"喜马拉雅VIP会员『12个月』","huiyuan",16800),
    NONE("暂不支持-完善中","0","0",0,0,0,"暂不支持此充值类型-敬请期待","no",0);

    LivChargeEnum(String productName, String productId, Integer money, Integer gold, Integer price, String desc) {
        this.productName = productName;
        this.productId = productId;
        this.money = money;
        this.gold = gold;
        this.price = price;
        this.desc = desc;
    }

    LivChargeEnum(String productName, String productId, Integer money, Integer gold, Integer price, String desc, String type) {
        this.productName = productName;
        this.productId = productId;
        this.money = money;
        this.gold = gold;
        this.price = price;
        this.desc = desc;
        this.type = type;
    }

    LivChargeEnum(String productName, String productId, Integer money, Integer gold, Integer price, String desc, String type, Integer parValue) {
        this.productName = productName;
        this.productId = productId;
        this.money = money;
        this.gold = gold;
        this.price = price;
        this.desc = desc;
        this.type = type;
        this.parValue = parValue;
    }

    LivChargeEnum(String nme, String productName, String productId, Integer money, Integer gold, Integer price, String desc, String type, Integer parValue) {
        this.name = nme;
        this.productName = productName;
        this.productId = productId;
        this.money = money;
        this.gold = gold;
        this.price = price;
        this.desc = desc;
        this.type = type;
        this.parValue = parValue;
    }

    /**
     * 别名显示
     */
    public  String name;
    /**
     * 产品标识符
     */
    public  String productName;
    /**
     * 产品ID -下单标识符
     */
    public  String productId;
    /**
     * 产品成本价格 单位分
     */
    public  Integer  money;
    /**
     *  换吗平台-产品消耗金币数
     */
    public   Integer gold;
    /**
     * 换吗平台-产品销售价格
     */
    public  Integer price;
    /**
     * 产品描述
     */
    public   String desc;
    /**
     * 充值类型
     */
    public  String  type;
    /***
     * 市场价值
     */
    public  Integer  parValue;

    public static LivChargeEnum toProductName(String  productName) {
        return Stream.of(LivChargeEnum.values())
                .filter(c -> Objects.equals(c.productName, productName))
                .findAny()
                .orElse(NONE);
    }



}
